package com.zoespeer.food_delivery_comment_api.service;

import com.zoespeer.food_delivery_comment_api.entity.User;
import com.zoespeer.food_delivery_comment_api.vo.*;
import jakarta.validation.constraints.NotBlank;

public interface UserService {
    UserVO login(LoginVO loginVO);
    void register(RegisterVO registerVO);
    // 新增忘记密码重置方法（处理“邮箱存在”的密码重置场景）
    void resetPassword(RegisterVO registerVO);
    // 修改：参数从 GetUserInfoVO 改为 String userId
    UserInfoVO getUserInfo(@NotBlank(message = "用户ID不能为空") Integer userId);
    void sendCheckCode(SendCheckCodeVO sendCheckCodeVO);
    User changeMessage(Integer userId, UpdateUserInfoVO request);
    void deleteMyself(DeleteUserVO request);
    // 新增修改密码方法
    void changePassword(ChangePasswordVO changePasswordVO);

    // 新增退出登录方法
    void logout(String token, String userId);
    TokenValidateVO validateToken(String token);
}